package cn.basic.social.api.dingtalk;

import java.util.HashMap;
import java.util.Map;

/**
 * @ClassName BaseDingRequest
 * @Description 钉钉基础请求类，存放一些通用的请求参数。注：这个类不能随意增加get/set/is开头类的方法，否则会有可能和API业务级的参数冲突。
 * @Author zlf
 * @Date 2023/8/25 10:22
 */
public abstract class BaseDingRequest<T extends DingResponse> implements DingRequest {

    /**
     * HTTP请求头参数
     */
    protected Map<String, String> headerMap;

    /**
     * 请求接口地址
     */
    protected String requestUrl;

    @Override
    public Map<String, String> getHeaderMap() {
        if (this.headerMap == null) {
            this.headerMap = new HashMap<>();
        }
        return this.headerMap;
    }

    /**
     * 添加头部自定义请求参数
     * 
     * @param 
     * @return 
     * @author zlf
     * @date 10:29 2023/8/25
     */
    public void putHeaderParam(String key, String value) {
        getHeaderMap().put(key, value);
    }

    @Override
    public String getRequestUrl() {
        return requestUrl;
    }

    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }

    public void setHeaderMap(Map<String, String> headerMap) {
        this.headerMap = headerMap;
    }
}
